lister set fenster_s progress name Packe bis':' STRIP(xfile,B,' "')
lister set fenster_s progress count a
xname = xname||packfile
END
IF i = 15 | n ~= 0 & xname ~= "" THEN DO
IF packer = "LHA" THEN ADDRESS COMMAND 'LHA -F -m -b256 -e -r -Z a ziel:'||namef xname
IF packer = "LZX" THEN ADDRESS COMMAND 'LZX -m -3 -bo256 -e -r -Y a ziel:'||namef xname
i = 0;xname = ""
END
IF n ~= 0 THEN DO
IF anzahl >30 THEN DO
IF packer = "LZX" THEN ADDRESS COMMAND 'resident >NIL: LZX remove'
IF packer = "LHA" THEN ADDRESS COMMAND 'resident >NIL: LHA remove'
END
IF n ~= 0 THEN LEAVE
END
END
END
IF packer = "XPK" THEN DO
IF subpack = "SUBPACK" THEN CALL xpacker
exec = ""
IF anzahl >1 THEN dopus request '"Sollen alle Files gepackt werden, oder nur Datenfiles?'||lf||'*** Achtung!! Verzeichnisse werden nicht beabeitet!! ***" Alles|All.o.info|Daten|Dat.o.info|Abbruch'
z = RC
IF z = 0 THEN CALL schluss
IF z = 1 | z = 2 THEN exec = " EXECUTABLE"
IF pfad_s = pfad_d & UPPER(STRIP(message,B,' "')) ~= "NOASK" THEN DO
dopus request '"Quell- und Zielpfad sind identisch!!'||lf||'Die Quelldateien werden gelöscht!!" OK|Abbruch'
IF RC = 0 THEN CALL schluss
END
IF anzahl >3 THEN ADDRESS COMMAND 'resident >NIL: C:XpackIt pure'
lister set fenster_s progress anzahl 'Kaffeepause!! Ich packe File(s):'
i = 0
pause = 0
DO FOREVER
CALL sense
i = i +1
lister query fenster_s firstsel
n = RC
IF n = 0 THEN DO
xfile = RESULT
packfile = tr||"quelle:"||STRIP(xfile,B,' "')||tr
lister query fenster_s entry xfile
yfile = RESULT
dirtest = WORD(yfile,2)
IF dirtest = "-1" THEN DO
say
say packfile||" Ist eine Verzeichnis"
say "Das wird nicht bearbeitet"
say
pause = 1
END
lister select fenster_s xfile 0
dopus getfiletype 'quelle:'||xfile id
packtyp = UPPER(RESULT)
IF packtyp = "ICON" THEN DO
IF z = 2 | z = 4 THEN pause = 2
END
lister set fenster_s progress count i
IF pause = 0 | pause = 2 THEN DO
lister set fenster_s progress name XPK': '||STRIP(xfile,B,' "')
IF pause = 0 THEN ADDRESS COMMAND 'XPackIt '||packfile||' ziel: METHOD '||subpack||exec||' PACK'
IF EXISTS('ziel:'||STRIP(xfile,B,' "')) = 0 THEN DO
lister set fenster_s progress name 'Kopiere: '||STRIP(xfile,B,' "')
say
say "Das File "||xfile||" wird kopiert!!"
say
ADDRESS COMMAND 'Copy '||packfile||' to '||tr||'ziel:'||STRIP(xfile,B,' "')||tr||' QUIET CLONE NOREQ'
END
END
END
pause = 0
IF n ~= 0 & anzahl >3 THEN ADDRESS COMMAND 'resident >NIL: XpackIt remove'
IF n ~= 0 THEN LEAVE
END
END
IF packer="DMS"|packer="LHAM"|packer="LZXM"|packer="XMASH"|packer="DSQ"|packer="ZOM" THEN DO
IF anweisung ~= "NOASK" THEN DO
dopus request '"Achtung!!'||lf||'Die Disk wird in das angewählte Verzeichnis gepackt!!" Ok|Ende'
IF RC = 0 THEN CALL schluss
END
CALL DRIVETEST
IF abbruch = 1 THEN CALL schluss
dopus request '"Sollen mehrere Disketten gepackt werden ?" Nein|Ja|Abbruch'
diskzahl = RC
IF diskzahl = 0 THEN CALL schluss
xyz = 0
IF diskzahl = 2 THEN lister set fenster_s progress 25 'Archiviere Diskette(n):'
IF diskzahl = 1 THEN lister set fenster_s progress 1 'Archiviere Diskette(n):'
a=0
zzy = " D B"
DO FOREVER
a = a+1
IF a >25 THEN DO
lister clear fenster_s progress
lister clear fenster_s abbort
lister set fenster_s progress 25 'Archiviere Diskette(n):'
END
pause = 0
dopus getstring '"Bitte den Archivnamen eingeben!'||lf||'Achtung!! Die Diskette wird in das Verzeichnis:'||lf||pfad_s||' gepackt!!" 40 "" OK|Abbruch'
archiv = RESULT
IF archiv = "RESULT" | dopusrc = 0 THEN CALL schluss
IF xyz = 1 THEN CALL diskwechsel
IF frage = 2 THEN LEAVE
lister set fenster_s progress name 'Teste Quelldisk'
xyz = 1
zusatz = ""
ADDRESS COMMAND 'TestDevice '||tr||drive||tr
xt = RC
IF xt = 0 THEN DO
ADDRESS COMMAND 'DirII >Ram:Testfile '||tr||drive||tr||' ALL NOINFO LFORMAT %l'
IF auftrag ~= "CONVERT" THEN dopus request '"Welches Laufwerk soll verwendet werden ?" DF0:|DF1:|RAD:|HF0:|Anderes'
IF auftrag = "CONVERT" THEN dopus request '"Welches Laufwerk soll zur '||lf||'Konvertierung verwendet werden ?" DF0:|DF1:|RAD:|HF0:|Anderes'
x = RC
SELECT
WHEN x = 1 THEN drive = "DF0:"
WHEN x = 2 THEN drive = "DF1:"
WHEN X = 3 THEN drive = "RAD:"
WHEN X = 4 THEN drive = "HF0:"
OTHERWISE drive = "XXX"
END
IF drive = "XXX" THEN DO
dopus getstring '"Was darf es denn sein?" 15 "DF2:" OK|Abbruch'
IF DOPUSRC = 0 THEN abbruch = 1
drive = RESULT
IF abbruch = 1 | drive = "RESULT" THEN CALL schluss
END
END
IF packtyp = "XMS" THEN DO
dopus request '"ACHTUNG !! XMash kann nur Diskettenlaufwerke unterstützen'||lf||'Welches Laufwerk soll verwendet werden ?" DF0:|DF1:|DF2:|DF3:|Abbruch'